﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once
#include "GmFamilyService.h"
#include "NdbDataSchema.h"
#include "NdbObjectSchematic.h"

namespace gcmp
{
    class Vector3d;
}

namespace gfam
{

    enum class GM_FAMILY_SERVICE_EXPORT ConnectorType : int32_t
    {
        VentilatingPipe = 0,                     ///< 风管
        WaterPipe = 1,                           ///< 水管
        WirePipe = 2,                            ///< 线管
        CableTray = 3,                           ///< 桥架
        Electrical = 4,                          ///< 电气
        Connector2d = 5,                         ///< 二维连接点
        BridgeWetJoint = 6,                      ///< 湿接缝
        MunicipalConnector2d = 7                 ///< 市政二维连接点
    };


    /// \brief 桥梁连接件位置
    enum class GM_FAMILY_SERVICE_EXPORT FamilyBridgeConnectorPosition : int32_t
    {
        Undefined = -1,                  ///< 未定义
        Left = 0,                        ///< 左侧
        Right = 1                        ///< 右侧
    };

    /// \brief 连接件流向
    enum class GM_FAMILY_SERVICE_EXPORT FamilyConnectorFlowDirectionType : int32_t
    {
        Undefined = -1,                  ///< 未定义
        Bidirectional = 0,               ///< 双向
        In = 1,                          ///< 进
        Out = 2                          ///< 出
    };

    /// \brief 桥梁湿接缝连接件类型
    enum class GM_FAMILY_SERVICE_EXPORT FamilyBridgeWetJointType : int32_t
    {
        DeckWetJoint = 0,                ///< 桥面湿接缝
        BeamWetJoint = 1,                ///< 桥梁湿接缝
        DiaphragmWetJoint = 2,           ///< 横隔板湿接缝
        OtherWetJoint = 3                ///< 其他湿接缝
    };

    /// \brief 市政连接件连接方式类型
    enum class GM_FAMILY_SERVICE_EXPORT ConnectionType : int32_t
    {
        UndefinedConnectionType = -1,   ///< 未定义的连接类型
        NoConnector = 0,                ///< 无连接
        Flanged = 2,                    ///< 法兰连接
        WeldedButt = 4,                 ///< 对焊连接
        Socket = 6,                     ///< 承插连接
        SocketMale = 6,                 ///< 承插连接(插口)
        SocketFemale = 7,               ///< 承插连接(承口)
        Threaded = 8,                   ///< 螺纹连接
        ThreadedMale = 8,               ///< 螺纹连接(外螺纹)
        ThreadedFemale = 9,             ///< 螺纹连接(内螺纹)
        Grooved = 10,                   ///< 沟槽连接
        Hotmelt = 12,                   ///< 热熔连接
        Glued = 14,                     ///< 胶粘连接
    };
}

